/********************************************************************************
 *      Copyright:  (C) 2020 Juan
 *                  All rights reserved.
 *
 *       Filename:  libevent_server1.h
 *    Description:  This head file 
 *
 *        Version:  1.0.0(28/07/20)
 *         Author:  wangruijie <1046299465@qq.com>
 *      ChangeLog:  1, Release initial version on "28/07/20 08:28:56"
 *                 
 ********************************************************************************/
#include <stdio.h>
#include <getopt.h>
#include <libgen.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>

#include <event2/event.h>
#include <event2/listener.h>
#include <event2/bufferevent.h>
#include <assert.h>

#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>

#define BUFFER_SIZE 1024
#define  LE_ADDRESS_SIZE 32

/* 将struct event_base重命名为EventBase，方便以后使用 */
typedef struct event_base EventBase;
/* 将struct event重命名为Event，方便后面使用 */
typedef struct event Event;

/* 初始化服务器的连接 */
int run_server(int SERVER_PORT);
/* 连接客户端 */
void acceptcb(struct evconnlistener *listener, evutil_socket_t fd, struct sockaddr *addr, int socklen, void *arg);
/* 从客户端读取数据 */
void readcb(struct bufferevent *bev, void *arg);
/* 一些出错处理 */
void eventcb(struct bufferevent *bev, short flag, void *arg);
/* 打印一些帮助信息 */
void print_usage(char *progname);
